// #ifndef VUE3
import Vue from 'vue'
import App from './App'
// 1. 导入request.js中的请求工具
import request from './common/request.js'

Vue.config.productionTip = false

// 2. 挂载$httpSend到Vue原型（所有组件可通过this.$httpSend调用）
Vue.prototype.$httpSend = function(options) {
	// 调用request方法，参数映射：
	// options.path → 请求路径
	// options.data → 请求数据
	// options.method → 请求方法（默认POST）
	// options.loading → 是否显示加载动画（默认true）
	return request(
		options.path,
		options.data || {}, // 默认为空对象，避免undefined
		options.method || 'POST', // 默认为POST请求
		options.loading !== false, // 默认为显示加载动画
		options.loadingText || '加载中' // 加载提示文字
	)
}

App.mpType = 'app'

const app = new Vue({
	...App
})
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
import App from './App.vue'
// 1. 导入request.js中的请求工具
import request from './common/request.js'

export function createApp() {
	const app = createSSRApp(App)

	// 2. 挂载$httpSend到全局属性（Vue3推荐方式）
	app.config.globalProperties.$httpSend = function(options) {
		return request(
			options.path,
			options.data || {},
			options.method || 'POST',
			options.loading !== false,
			options.loadingText || '加载中'
		)
	}

	return {
		app
	}
}
// #endif